package day04;

import java.util.Arrays;
import java.util.Random;

public class ArraySort {
    public static void main(String[] args) {
        /*
        数组排序
            排序是对数组施加的最常用的算法
            所谓排序，指将数组元素按照从小到大（升序）或从大到小（降序）的顺序重新排列
            常见排序算法有：冒泡排序、插入排序、快速排序、选择排序、希尔排序等
         */

        /*
        使用Arrays.sort();对数组排序
            Java提供的Arrays.sort()封装了数组的排序算法：
                int[] arr = {49,81,1,64,77,50,0,54,77,18};
                Arrays.sort(arr);//对arr数组做升序排列
                for (int i=0;i<arr.length;i++){
                    System.out.println(arr[i]);
                }
         */

        Random rand = new Random();//随机数对象
        int[] arr = new int[10];
        for (int i=0;i<arr.length;i++){
            arr[i] = rand.nextInt(100);//0到99的随机整数
            System.out.println(arr[i]);
        }
        Arrays.sort(arr);//对arr数组做升序排列
        System.out.println("排序后：");
        for (int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println("倒着输出：");
        for (int i=arr.length-1;i>=0;i--){//数据还是升序，只是倒着展示
            System.out.println(arr[i]);
        }
        System.out.println("第1个元素为："+arr[0]);//小的
    }
}
